﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;

/// <summary>
/// Summary description for ModeloUsuarios
/// </summary>
public class ModeloUsuarios
{
    private String nombre;
    private String rol;
    private Conexion conn;

	public ModeloUsuarios()
	{
        conn = new Conexion();
	}

    public DataTable getUsuarios(String miNombre, HttpResponse resp)
    {
        try
        {

            DataTable dt = new DataTable();

            DataColumn c1 = new DataColumn();
            c1.ColumnName = "Nombre";
            DataColumn c3 = new DataColumn();
            c3.ColumnName = "rol";
            DataColumn c4 = new DataColumn();
            c4.ColumnName = "codigo";
            DataColumn c5 = new DataColumn();
            c5.ColumnName = "estado";
            
            dt.Columns.Add(c1);
            dt.Columns.Add(c3);
            dt.Columns.Add(c4);
            dt.Columns.Add(c5);
            

            String query = "SELECT USUARIO.NOMBREUSUARIO , ROL.NOMBREROL , USUARIO.IDUSUARIO, USUARIO.IDESTADOUSUARIO " +
                           "FROM USUARIO INNER JOIN ROL ON (USUARIO.IDROL = ROL.IDROL) " +
                           "WHERE USUARIO.NOMBREUSUARIO !='" + miNombre + "'";
           // MessageBox.Show(miNombre, "Alerta");
            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();
                while (rows.Read())
                {
                    DataRow r = dt.NewRow();
                    r["Nombre"] = rows[0].ToString();
                    r["rol"] = rows[1].ToString();
                    r["codigo"] = rows[2].ToString();
                    String estado = rows[3].ToString();
                    if (estado == "1")
                    {
                        r["estado"] = "Habilitado";
                    }
                    else 
                    {
                        r["estado"] = "Deshabilitado";
                    }

                     
                    dt.Rows.Add(r);

                }

                conn.terminarConexion();

                return dt;
            }

            else
            {

                conn.terminarConexion();
                return null;
            }
        }

        catch (Exception exc)
        {
            resp.Write(exc.Message);
            return null;
        }

    }
}